import blosc2
import pandas as pd
import plotly.express as px
lib_names = ['Blosc2 (NDArray)', 'Zarr (Blosc1)', 'h5py (HDF5 - Blosc2)']
creation_time_min = [56.15, 60, 35.09]
fig = px.bar(y=creation_time_min, x=lib_names, color=lib_names,
title="Creation Time (Minutes)", labels = {'x': '', 'y': '', 'color': ''})
fig.show()
sizesGB = [12.67, 32.15, 12.3]
fig = px.bar(y=sizesGB, x=lib_names, color=lib_names,
title="Size (GB)", labels = {'x': '', 'y': '', 'color': ''})
fig.show()
axis = [0, 1, 2] * 3
libraries = [lib_names[0]] * 3 + [lib_names[1]] * 3 + [lib_names[2]] * 3
speed1 = [3.63, 3.98, 3.87,
1.70, 1.75, 1.72,
1.77, 1.82, 1.81]
# nthreads = 1
df1 = pd.DataFrame()
df1.insert(0, 'Speed (GB/s)', speed1)
df1.insert(1, 'Axis', axis)
df1.insert(2, 'Library', libraries)
df1.insert(3, 'nthreads', [1] * len(speed1))
# nthreads = 16
speed16 = [3.58, 4.34, 4.26,
3.32, 3.5, 3.36,
1.14, 1.15, 1.14]
df16 = pd.DataFrame()
df16.insert(0, 'Speed (GB/s)', speed16)
df16.insert(1, 'Axis', axis)
df16.insert(2, 'Library', libraries)
df16.insert(3, 'nthreads', [16] * len(speed1))
df = pd.concat([df1, df16], axis=0)
df.reset_index(drop=True)
fig = px.bar(df, x='Axis', y='Speed (GB/s)', color='Library', barmode = 'group', facet_col="nthreads",
labels = {'Speed (GB/s)': '', 'Library': ''},
title='Speed (GB/s)')
fig.show()
# Without specifying nthreads
speed = [3.63, 4.49, 4.32,
4.08, 4.28, 4.04,
1.77, 1.79, 1.81]
df_def = pd.DataFrame()
df_def.insert(0, 'Speed (GB/s)', speed)
df_def.insert(1, 'Axis', axis)
df_def.insert(2, 'Library', libraries)
df_def.insert(3, 'nthreads', ['Default'] * len(libraries))
df = pd.concat([df, df_def], axis=0)
df.reset_index(drop=True)
fig = px.bar(df, x='Axis', y='Speed (GB/s)', color='Library', barmode = 'group', facet_col="nthreads",
labels = {'Speed (GB/s)': '', 'Library': ''},
title='Speed (GB/s)')
fig.show()